package com.flejay.dreamrecruiter.tools;

import java.util.List;

import org.apache.commons.lang3.StringUtils;

import com.flejay.dreamrecruiter.model.AbstractBlock;
import com.flejay.dreamrecruiter.model.Block;
import com.flejay.dreamrecruiter.model.SubBlock;
import com.flejay.dreamrecruiter.model.SubTag;

public final class BlockTool {

	private BlockTool(){
		super();
	}

	/**
	 * Retrouve le sous block correspondant au sous tag passé en parametre
	 * 
	 * @param subBlocks
	 * @param subTagMatching
	 * @return
	 */
	public static SubBlock retrieveSubBlock(List<SubBlock> subBlocks,SubTag subTagMatching) {
		SubBlock res = null;
		for (SubBlock subBlock : subBlocks){
			if (StringUtils.equalsIgnoreCase(subBlock.getAssociatedTag().getLabel(), subTagMatching.getLabel())){
				res = subBlock;
				break;
			}
		}
		return res;
	}

	/**
	 * Retrouve le block associé au tag ayant le label spécifié
	 * S'il n'existe pas renvoi null
	 * 
	 * @param blockList
	 * @param label
	 * @return
	 */
	public static AbstractBlock findBlock(final List<Block> blockList, final String label) {
		Block res = null;
		for(Block block : blockList){
			if (StringUtils.equalsIgnoreCase(block.getAssociatedTag().getLabel(), label)){
				res = block;
				break;
			}
		}
		return res;
	}
	
}
